/*
 * Trabalho ESP
 * Autor: Ricardo Prado
 */
package br.pucsp.projetoesp.modeloDeDominio;

import java.awt.Color;
import java.awt.Graphics;

/**
 *
 * @author Ricardo
 */
public class Tabuleiro implements Desenhavel {

    public static final int NUMERO_DE_CASAS_NA_HORIZONTAL = 20;
    public static final int NUMERO_DE_CASAS_NA_VERTICAL = 25;
    
    private Casa[][] casasDoTabuleiro = new Casa[NUMERO_DE_CASAS_NA_HORIZONTAL][NUMERO_DE_CASAS_NA_VERTICAL];

    public Tabuleiro() {
    }

    public void desenhar(int x, int y, Graphics localParaDesenho) {
        desenharBordas(x, y, localParaDesenho);
        for (int i = 0; i < NUMERO_DE_CASAS_NA_HORIZONTAL; i++) {
            for (int j = 0; j < NUMERO_DE_CASAS_NA_VERTICAL; j++) {

                casasDoTabuleiro[i][j].desenhar(
                        x + i * casasDoTabuleiro[i][j].getWidth(),
                        y + j * casasDoTabuleiro[i][j].getHeight(),
                        localParaDesenho);
            }
        }
    }

    private void desenharBordas(int x, int y, Graphics localParaDesenho) {
        localParaDesenho.setColor(Color.BLACK);
        localParaDesenho.drawRect(x, y, getWidth(), getHeight());
        
    }

    public Casa[][] getCasasDoTabuleiro() {
        return casasDoTabuleiro;
    }

    @Override
    public int getWidth() {
        return NUMERO_DE_CASAS_NA_HORIZONTAL * Casa.LARGURA_EM_PX;
    }

    @Override
    public int getHeight() {
        return NUMERO_DE_CASAS_NA_VERTICAL * Casa.ALTURA_EM_PX;
    }
}
